Pitfalls in Unanticipated Dynamic Software Evolution
نویسندگان
چکیده
The authors of this paper have all developed a framework that allows runtime adaptation of software systems. Based on our experiences, we wish to summarize common pitfalls concerning dynamic software evolution. Systems for dynamic adaptation typically follow a certain process which is used as a starting point in this paper. The problems that occur in the different steps of this evolution process are given and a suggestion is made on how these problems can be tackled. The reader will notice that the solution to most of the pitfalls lies in the use of reflection, meta-data and meta-object protocols. We conclude that reflection or meta-object protocol manipulations are indispensable in the process of dynamic software evolution.
منابع مشابه
Developing Enterprise Applications with Support to Dynamic Unanticipated Evolution
This paper presents a component based framework for developing enterprise applications with support to dynamic unanticipated evolution. The framework is based on the COMPOR Component Model Specification, which provides mechanisms to manage unpredicted evolution even at runtime. We describe the framework design that is based on design patterns and aspect-oriented concepts. Finally, we present a ...
متن کاملDecouplink: Dynamic Links for Java
Software entities should be open for extension, but closed to modification. Unfortunately, unanticipated requirements emerging during software evolution makes it difficult to always enforce this principle. This situation poses a dilemma that is particularly important when considering component-based systems: On the one hand, violating the open/closed principle by allowing for modification compr...
متن کاملOptimising software development policies for evolutionary system requirements
Anticipating future software requirements might support the evolution of software systems and as such reduce the cost of development and maintenance in due time. Unfortunately identifying the right set of evolution scenarios is difficult due to the uncertainty of occurrence of future requirements. In this paper we propose the Software Evolution Analysis Model (SEAM) that provides a probabilisti...
متن کاملManaging Unanticipated Evolution of Software Architectures
Few existing approaches towards architectural evolution deal with unanticipated evolution. This is an important restriction, since a lot of architectural changes are very di cult to anticipate. The reuse contract formalism has been designed speci cally to deal with unanticipated software evolution, and has already proven its practical use in di erent domains. We claim that the reuse contract ap...
متن کاملA Component Based Infrastructure to Develop Software Supporting Dynamic Unanticipated Evolution
This paper presents a component based infrastructure for developing software supporting dynamic unanticipated software evolution. We propose a component model providing mechanisms for managing unpredicted software changes, even at runtime. A Java implementation of the proposed model is also presented. Moreover, a performance evaluation model and an Eclipse-based tool to support composition acti...
متن کامل